package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 l_coupon
 * 
 * @author ruoyi
 * @date 2024-09-07
 */
public class LCoupon extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 优惠券id */
    private Long id;

    /** 优惠券名字 */
    @Excel(name = "优惠券名字")
    private String name;

    /** 优惠券状态(1正常 2异常) */
    @Excel(name = "优惠券状态(1正常 2异常)")
    private Long status;

    /** 优惠券类型(1是折扣优惠券 2是满减优惠券) */
    @Excel(name = "优惠券类型(1是折扣优惠券 2是满减优惠券)")
    private Long type;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    private BigDecimal value;

    /** 优惠券所需最低消费金额 */
    @Excel(name = "优惠券所需最低消费金额")
    private BigDecimal minprice;

    /** 优惠券有效天数 */
    @Excel(name = "优惠券有效天数")
    private Long day;

    /** 优惠券发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "优惠券发布时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    /** 优惠券更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "优惠券更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedTime;

    /** 优惠券到期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "优惠券到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date failureTime;

    /** 优惠券兑换码 */
    @Excel(name = "优惠券兑换码")
    private String redemptionCode;

    /** 优惠券库存(-1为不限量) */
    @Excel(name = "优惠券库存(-1为不限量)")
    private Long inventory;

    /** 优惠券限定使用商品 */
    @Excel(name = "优惠券限定使用商品")
    private String restrictedProducts;

    /** 优惠券标签(使用限定范围 例如新人，或者会员 或者限定节日) */
    @Excel(name = "优惠券标签(使用限定范围 例如新人，或者会员 或者限定节日)")
    private String label;

    /** 优惠券描述(使用规则) */
    @Excel(name = "优惠券描述(使用规则)")
    private String describe;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setType(Long type) 
    {
        this.type = type;
    }

    public Long getType() 
    {
        return type;
    }
    public void setValue(BigDecimal value) 
    {
        this.value = value;
    }

    public BigDecimal getValue() 
    {
        return value;
    }
    public void setMinprice(BigDecimal minprice) 
    {
        this.minprice = minprice;
    }

    public BigDecimal getMinprice() 
    {
        return minprice;
    }
    public void setDay(Long day) 
    {
        this.day = day;
    }

    public Long getDay() 
    {
        return day;
    }
    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }
    public void setUpdatedTime(Date updatedTime) 
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime() 
    {
        return updatedTime;
    }
    public void setFailureTime(Date failureTime) 
    {
        this.failureTime = failureTime;
    }

    public Date getFailureTime() 
    {
        return failureTime;
    }
    public void setRedemptionCode(String redemptionCode) 
    {
        this.redemptionCode = redemptionCode;
    }

    public String getRedemptionCode() 
    {
        return redemptionCode;
    }
    public void setInventory(Long inventory) 
    {
        this.inventory = inventory;
    }

    public Long getInventory() 
    {
        return inventory;
    }
    public void setRestrictedProducts(String restrictedProducts) 
    {
        this.restrictedProducts = restrictedProducts;
    }

    public String getRestrictedProducts() 
    {
        return restrictedProducts;
    }
    public void setLabel(String label) 
    {
        this.label = label;
    }

    public String getLabel() 
    {
        return label;
    }
    public void setDescribe(String describe) 
    {
        this.describe = describe;
    }

    public String getDescribe() 
    {
        return describe;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("status", getStatus())
            .append("type", getType())
            .append("value", getValue())
            .append("minprice", getMinprice())
            .append("day", getDay())
            .append("createdTime", getCreatedTime())
            .append("updatedTime", getUpdatedTime())
            .append("failureTime", getFailureTime())
            .append("redemptionCode", getRedemptionCode())
            .append("inventory", getInventory())
            .append("restrictedProducts", getRestrictedProducts())
            .append("label", getLabel())
            .append("describe", getDescribe())
            .toString();
    }
}
